Page({
  data: {
    tagList: ['要闻', '音乐', '科技', '经济', '军事'],
    tagValueList: [1, 2, 3, 4, 5],
    selectedTag: 1,
    selectedTagText: '要闻',
    newsId: '',
    newsByTag: [],
    newsById: null,
    randomNews: []
  },

  // 标签选择改变事件
  onTagChange: function (e) {
    const index = e.detail.value;
    this.setData({
      selectedTag: this.data.tagValueList[index],
      selectedTagText: this.data.tagList[index]
    });
  },

  // 新闻 ID 输入事件
  onNewsIdInput: function (e) {
    this.setData({
      newsId: e.detail.value
    });
  },

  // 根据标签请求新闻
  getNewsByTag: function () {
    const baseUrl = 'http://39.104.24.231:8082';
    const url = `${baseUrl}/news/tag/${this.data.selectedTag}`;
    wx.request({
      url: url,
      method: 'GET',
      header: {
        'content-type': 'application/json'
      },
      success: (res) => {
        if (res.data.status === 200) {
          this.setData({
            newsByTag: res.data.data
          });
          wx.showToast({
            title: '新闻获取成功',
            icon:'success'
          });
        } else {
          wx.showToast({
            title: '新闻获取失败: ' + res.data.message,
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '请求失败: ' + err.errMsg,
          icon: 'none'
        });
      }
    });
  },

  // 根据 ID 请求新闻
  getNewsById: function () {
    const baseUrl = 'http://39.104.24.231:8082';
    const url = `${baseUrl}/news/id/${this.data.newsId}`;
    wx.request({
      url: url,
      method: 'GET',
      header: {
        'content-type': 'application/json'
      },
      success: (res) => {
        if (res.data.status === 200) {
          this.setData({
            newsById: res.data.data
          });
          wx.showToast({
            title: '新闻获取成功',
            icon:'success'
          });
        } else {
          wx.showToast({
            title: '新闻获取失败: ' + res.data.message,
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '请求失败: ' + err.errMsg,
          icon: 'none'
        });
      }
    });
  },

  // 随机请求十个新闻
  getRandomNews: function () {
    const baseUrl = 'http://39.104.24.231:8082';
    const url = `${baseUrl}/news/getRandNews`;
    wx.request({
      url: url,
      method: 'GET',
      header: {
        'content-type': 'application/json'
      },
      success: (res) => {
        if (res.data.status === 200) {
          this.setData({
            randomNews: res.data.data
          });
          wx.showToast({
            title: '新闻获取成功',
            icon:'success'
          });
        } else {
          wx.showToast({
            title: '新闻获取失败: ' + res.data.message,
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '请求失败: ' + err.errMsg,
          icon: 'none'
        });
      }
    });
  }
});